package global

import (
	"fmt"

	"gorm.io/driver/mysql"
	"gorm.io/gorm"
	"gorm.io/gorm/schema"
)

var (
	DBLink *gorm.DB
)

// 连接到数据库
func SetupDBLink() error {
	var err error
	dsn := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=%s&parseTime=%t&loc=Local",
		DatabaseSetting.UserName,
		DatabaseSetting.Password,
		DatabaseSetting.Host,
		DatabaseSetting.DBName,
		DatabaseSetting.Charset,
		DatabaseSetting.ParseTime,
	)
	DBLink, err = gorm.Open(mysql.Open(dsn), &gorm.Config{
		DryRun: false, //生成 SQL 但不执行
		NamingStrategy: schema.NamingStrategy{
			SingularTable: true, // 单数表名
		},
	})
	if err != nil {
		return err
	} else {
		return nil
	}
}

// func SetupDBLink() error {
// 	var err error
// 	dsn := "root:Zheng@1210@tcp(127.0.0.1:3306)/dig?charset=utf8mb4&parseTime=True&loc=Local"
// 	DBLink, err = gorm.Open(mysql.Open(dsn), &gorm.Config{
// 		DryRun: false, //生成 SQL 但不执行
// 		NamingStrategy: schema.NamingStrategy{
// 			SingularTable: true, // 单数表名
// 		},
// 	})
// 	if err != nil {
// 		return err
// 	} else {
// 		return nil
// 	}
// }
